/*
 * File:   AHP.h
 * Author: darkflako
 *
 * Created on December 16, 2011, 12:01 PM
 */

#ifndef _AHP_H
#define	_AHP_H

#include <list>
#include <string>
#include <map>

using namespace std;

class AHP {
    private:
        list<string> criterios;
        list<string> alternativas;

        map<string,float> comparaciones;
        map<string,float> comparacionesCriterios;
    public:
                AHP();
                AHP(const AHP& orig);
                virtual ~AHP();

        void    addCriterio(string c);
        void    delCriterio(string c);
        list<string> getCriterios();
        list<string> getAlternativas();

        void    addAlternativa(string c);
        void    delAlternativa(string c);

        int     countAlternativas();
        int     countCriterios();

        void    setComparacionAlternativas(string criterio,string alternativa1, string alternativa2, float v);
        void    setComparacionCriterios(string criterio1, string criterio2, float v);

        float    getComparacionAlternativas(string criterio,string alternativa1, string alternativa2);
        float    getComparacionCriterios(string criterio1, string criterio2);

        void     clear();

        void    printData();

        map<string,float> calcular();
};

#endif	/* _AHP_H */

